const fs = require("fs");
const path = require("path");
const express = require("express");
const moment = require("moment");

const app = express();
// 1
// app.use((req,res,next)=>{
// 	const {url,method} = req;
// 	const log = {
// 		id:Math.random().toString(36).slice(2),
// 		url,
// 		method,
// 		ip:req.socket.remoteAddress,
// 		addTime:moment().format("YYYY-MM-DD hh:mm:ss")
// 	};
// 	fs.readFile(path.join(__dirname,"/data/index.json"),"utf-8",(err,result)=>{
// 		fs.writeFile(path.join(__dirname,"/data/index.json"),JSON.stringify([
// 			log,
// 			...JSON.parse(result)
// 		]),()=>{
// 			next();
// 		})
// 	})
// });

// 2- 抽离为一个函数:柯里化
// const createLog = function(myUrl){
// 	return (req,res,next)=>{
// 		const {url,method} = req;
// 		const log = {
// 			id:Math.random().toString(36).slice(2),
// 			url,
// 			method,
// 			ip:req.socket.remoteAddress,
// 			addTime:moment().format("YYYY-MM-DD hh:mm:ss")
// 		};
// 		fs.readFile(myUrl,"utf-8",(err,result)=>{
// 			fs.writeFile(myUrl,JSON.stringify([
// 				log,
// 				...JSON.parse(result)
// 			]),()=>{
// 				next();
// 			})
// 		})
// 	}
// }
// app.use(createLog(path.join(__dirname,"/data/index.json")));


// 3- 将抽离的函数放置到模块中
const {createLog} = require("./modules/middleware");
app.use(createLog(path.join(__dirname,"/data/index.json")));
app.get("/",(req,res)=>{
	res.send("首页")
})
app.get("/goodsList",(req,res)=>{
	
	res.send("商品列表页")
})
app.get("/goodsDetail",(req,res)=>{
	res.send("商品详情页")
})
app.get("/newsList",(req,res)=>{
	res.send("新闻列表页")
})
app.get("/newsDetail",(req,res)=>{
	res.send("新闻详情页")
})
app.get("/my",(req,res)=>{
	res.send("个人中心")
})
app.get("/myLog",(req,res)=>{
	res.send("个人历史")
})
app.get("/login",(req,res)=>{
	res.send("个人登陆")
})
app.listen(80,"0.0.0.0",()=>{
	console.log("success");
})